/**
 * 代码生成信息编辑 tabs
 */
export enum EDIT_TABS_ENUM {
  /** 基本信息 */
  basicInfo = 'info',
  /** 字段信息 */
  columnInfo = 'columnInfo',
  /** 生成信息 */
  genInfo = 'genInfo'
}

/**
 * 表类型枚举
 */
export enum TPL_CATEGORY_ENUM {
  /** 单表（增删改查） */
  crud = 'crud',
  /** 树表（增删改查） */
  tree = 'tree',
  /** 主子表（增删改查） */
  sub = 'sub',
}

/**
 * 表类型
 */
export const TPL_CATEGORY_COLUMN = [
  { label: '单表（增删改查）', value: TPL_CATEGORY_ENUM.crud },
  { label: '树表（增删改查）', value: TPL_CATEGORY_ENUM.tree },
  { label: '主子表（增删改查）', value: TPL_CATEGORY_ENUM.sub },
]

/**
 * 生成代码方式枚举
 */
export enum GEN_TYPE_ENUM {
  /** zip压缩包 */
  zip = '0',
  /** 自定义路径 */
  custom = '1',
}

/**
 * 生成代码方式
 */
export const GEN_TYPE_COLUMN = [
  { label: 'zip压缩包', value: GEN_TYPE_ENUM.zip },
  { label: '自定义路径', value: GEN_TYPE_ENUM.custom },
]

/**
 * jave类型
 */
export const JAVE_TYPE_COLUMN = [
  { label: 'Long', value: 'Long' },
  { label: 'String', value: 'String' },
  { label: 'Integer', value: 'Integer' },
  { label: 'Double', value: 'Double' },
  { label: 'BigDecimal', value: 'BigDecimal' },
  { label: 'Date', value: 'Date' },
  { label: 'Boolean', value: 'Boolean' },
]

/**
 * 查询方式
 */
export const QUERY_TYPE_COLUMN = [
  { label: '=', value: 'EQ' },
  { label: '!=', value: 'NE' },
  { label: '>', value: 'GT' },
  { label: '>=', value: 'GTE' },
  { label: '<', value: 'LT' },
  { label: '<=', value: 'LTE' },
  { label: 'LIKE', value: 'LIKE' },
  { label: 'BETWEEN', value: 'BETWEEN' },
]

/**
 * 显示类型
 */
export const HTML_TYPE_COLUMN = [
  { label: '文本框', value: 'input' },
  { label: '文本域', value: 'textarea' },
  { label: '下拉框', value: 'select' },
  { label: '单选框', value: 'radio' },
  { label: '复选框', value: 'checkbox' },
  { label: '日期控件', value: 'datetime' },
  { label: '图片上传', value: 'imageUpload' },
  { label: '文件上传', value: 'fileUpload' },
  { label: '富文本控件', value: 'editor' },
]

/**
 * 代码详情类型
 */
export enum CODE_DATA_ENUM {
  controllerJava = 'controller.java',
  domainJava = 'domain.java',
  mapperJava = 'mapper.java',
  serviceJava = 'service.java',
  serviceImplJava = 'serviceImpl.java',
  mapperXml = 'mapper.xml',
  apiTs = 'api.ts',
  recordTs = 'record.ts',
  sql = 'sql',
  indexVue = 'index.vue',
  editVue = 'edit.vue',
  detailVue = 'detail.vue',
}
